﻿using System;
using System.Collections.Generic;
using Shop.Base.Entity;
using Shop.Base.Entity.Delete;
using Shop.Base.Entity.Insert;
using Shop.Base.Entity.Update;
using Shop.Entity;
using Shop.Interface;

namespace Shop.Base.Interface
{
    public interface ISystemMenu:IBase
    {
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="t">修改信息</param>
        /// <param name="com">操作人信息</param>
        /// <returns>true/false </returns>
        bool Update(UpdateSystemMenu t, ComUser com);

        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="t">修改信息</param>
        /// <param name="com">操作人信息</param>
        /// <returns>true/false </returns>
        bool Insert(AddSystemMenu t, ComUser com);
        

        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="menuName">菜单名称</param>
        /// <param name="parentId">父级Id</param>
        /// <param name="isDel">是否已删除</param>
        /// <param name="pageIndex">当前第几页</param>
        /// <param name="pageSize">每页显示数量</param>
        /// <param name="total">输出总数</param>
        /// <returns></returns>
        List<SystemMenuPo> GetPage(string menuName,Guid? parentId, int isDel, int pageIndex, int pageSize, out int total);

        /// <summary>
        /// 获取所有菜单
        /// </summary>
        List<SystemMenuPo> GetAll();
    }
}